Various systems exist for using a mobile computing device to browse the World Wide Web using web browser software that executes on the mobile computing device. For example, a version of the Safari web browser that is designed for use on the Apple iPhone may be used to browse the web using an iPhone. One of the reasons that mobile computing devices, especially handheld computing devices, typically browse the web using web browsers that have been designed specifically for use on mobile computing devices is so that the browser may interact accurately and efficiently with the particular input and output devices (such as a touchscreen and/or limited keyboard) that are embedded within and/or locally attached to the mobile computing device.
One problem with using web browser software that executes on a mobile computing device is that such software typically does not include all of the features that are included in web browser software that executes on a desktop computer, laptop computer, or other more power, non-mobile, computer. For example, the version of the Safari web browser that executes on desktop computers is capable of displaying multimedia content (such as YouTube videos) using Adobe Flash technology, whereas the versions of the Safari web browser that execute on the iPad, iPhone, and other iOS devices are not capable of displaying multimedia content using Adobe Flash technology. As a result, users of mobile devices cannot use the Safari web browser to view and interact with multimedia content using Adobe Flash technology, despite the popularity of such content and the desirability of providing users with the ability to interact with such content.
One solution to this problem is to provide the mobile computing device with special-purpose applications (sometimes referred to as “apps”), such as a YouTube application, that is capable of rendering multimedia content using Adobe Flash technology or otherwise providing an equivalent experience to the user. Although such solutions may enable the user to interact with the desired multimedia content, one drawback of such solutions is that they impose additional burdens on end users by requiring them to install, maintain, and use multiple applications to interact with a variety of content, instead of using a single web browser to interact with all such content.
One solution to the problem described above is to provide the mobile computing device with remote desktop software, such as the GoToMyPC software available from Citrix Systems. In this scenario, the user of the mobile computing device installs GoToMyPC software on the user's personal desktop computer. The user also installs GoToMyPC software on the user's mobile computing device. The user then executes the GoToMyPC software on the user's mobile computing device to access the user's personal desktop computer over the Internet. The GoToMyPC software displays the contents of the user's personal desktop computer screen on the screen of the user's mobile computing device. Furthermore, the GoToMyPC software transmits any input (such as keyboard input) received by the mobile device from the user to the user's personal desktop computer. In this way, the GoToMyPC software enables the user to use the mobile device to remotely control the user's personal desktop computer.
Using such a system, the user can use the mobile device to cause the user's personal desktop computer to execute the desktop version of a web browser such as Safari and to display multimedia content, such as YouTube videos, using Adobe Flash technology. The GoToMyPC software transmits the results of rendering the multimedia content to the mobile computing device and produces output representing the multimedia content, such as in the form of video and/or audio, on the mobile computing device. Such a system, therefore, provides the user with the experience of interacting with multimedia content on the mobile computing device even though the mobile computing device itself is not capable of executing the Adobe Flash software and/or other software that is necessary to render such content directly on the mobile computing device.
Using remote desktop software, such as GoToMyPC, to enable a mobile computing device to render multimedia content remotely via a desktop computer presents a variety of disadvantages. For example, the mobile computing device may include or otherwise be connected to local input components and/or output components (“I/O components”) that are not contained within or otherwise locally connected to the remote desktop computer. Such differences in the I/O components that are connected to the mobile computing device and the remote desktop computer may prevent the user from using certain I/O components of the mobile computing device or cause such I/O components to produce undesirable results when used in connection with the remote desktop computing via the remote desktop software.
What is needed, therefore, are improved techniques for enabling mobile computing devices to use resources of remote computers over a network.